#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1010;
LL a[N][N];
LL d[N][N];
int n,m,k;
int main()
{
    scanf("%d%d%d",&n,&m,&k);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++) scanf("%lld",&a[i][j]);

    LL res=1e18;
    memset(d,0x3f,sizeof d);

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++) d[i][j]=min(a[i][j],min(d[i-1][j]+k,d[i][j-1]+k));

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
             LL t =min(d[i-1][j]+a[i][j]+k,d[i][j-1]+a[i][j]+k);
             res=min(t,res);
        }

    for(int i=1;i<=n;i++)
        for(int j=m;j>=1;j--) d[i][j]=min(a[i][j],min(d[i-1][j]+k,d[i][j+1]+k));

    for(int i=1;i<=n;i++)
        for(int j=m;j>=1;j--){
            LL t=min(d[i-1][j]+a[i][j]+k,d[i][j+1]+a[i][j]+k);
            res=min(t,res);
        }

    printf("%lld\n",res);
    return 0;
}
